Việc sử dụng Tiền tố nhị phân

Cụm từ "đơn vị thập phân" sẽ được dùng để chỉ "định danh SI được hiểu với nghĩa tiêu chuẩn, thập phân, lũy thừa của 1000" và "đơn vị nhị phân" sẽ có nghĩa "định danh SI được hiểu với nghĩa nhị phân, lũy thừa của 1024." B sẽ được dùng làm ký hiệu cho byte theo tiêu chuẩn công nghiệp máy tính (IEEE 1541IEC 60027; B cũng được dùng làm ký hiệu cho bel, một đơn vị không phải của SI phổ biến để đo số truyền).

Có những đơn vị luôn luôn được hiểu là số thập phân ngay cả khi nói đến máy tính. Ví dụ như, hertz (Hz), được dùng để đo tốc độ xung đồng hồ của những linh kiện điện tử, và bit/s, dùng để đo tốc độ truyền bit. Do đó bộ vi xử lý 1 GHz sẽ thực hiện 1.000.000.000 xung đồng hồ trong một giây, nhạc MP3 128 kbit/s tốn 128.000 bit (16 kB, 15.625 KiB) một giây, và kết nối Internet tốc độ 1 Mbit/s có thể truyền 1.000.000 bit (125 kB, tương đương 122 KiB) một giây, giả thiết 1 byte bằng 8 bit, và không có trễ.[35]

Cách phát âm

Trong tiếng Anh và tương tự đối với tiếng Việt, cách phát âm được đề nghị là âm đầu của tiền tố nhị phân phát âm giống như âm đầu của tiền tố SI tương ứng, và âm sao phát âm như "bi".[26] Ví dụ như: KiB, viết là Kibibyte, đọc là "ki bi bai (tờ)".

Bộ nhớ máy tính

Bài chi tiết: Chuẩn bộ nhớ JEDEC

Việc đo lường phần lớn các loại bộ nhớ điện tử như RAM, ROMFlash (ổ flash dung lượng lớn như đĩa cứng đôi khi là ngoại lệ) thường ở đơn vị nhị phân, vì chúng được tạo ra ở dung lượng theo lũy thừa hai. Đây là cấu hình tự nhiên nhất cho bộ nhớ, vì khi đó tất cả các tổ hợp của các đường địa chỉ sẽ tương ứng với một địa chỉ hữu hiệu, cho phép tập hợp dễ dàng vào một khối bộ nhớ liên tục lớn hơn.

Tổ chức Công nghệ Liên bang Thống nhất JEDEC, một cơ quan tiêu chuẩn hóa kỹ thuật bán dẫn của Liên minh Công nghiệp Điện tử (Electronic Industries Alliance - EIA) trong Tiêu chuẩn 100B.01[6][36] định nghĩa K, M và G theo nghĩa nhị phân là tiền tố cho những đơn vị của bộ nhớ bán dẫn, ghi chú rằng những định nghĩa này "chỉ được kèm theo để phản ánh thực tế sử dụng thông thường" và còn chú ý rằng 'IEEE/ASTM SI 10-1997 có nói "Việc sử dụng như thế này thường dẫn tới sự nhầm lẫn và không được tán thành."'. Tất cả những tiêu chuẩn xuất bản bởi JEDEC vẫn đang sử dụng cách dùng thông thường, gồm cả những đề xuất đóng gói chip nhớ cho người dùng cuối.

Nhiều lĩnh vực trong lập trình máy tính đề cập tới bộ nhớ với ý nghĩa lũy thừa hai một cách tự nhiên. Ví dụ như, một con trỏ có thể tham chiếu đến nhiều nhất là 65.536 đơn vị (byte, word, hoặc đối tượng khác), hay một hệ điều hành có thể chiếu tương ứng bộ nhớ với nghĩa là từng trang độ lớn 4.096-byte, trong trường hợp đó chính xác 8.192 trang có thể định vị được 33.554.432 byte bộ nhớ phần cứng. Sẽ thuận tiện hơn khi diễn đạt các con số này một cách không chính thức lần lượt là 64K đơn vị, hay 8K trang có độ lớn 4Kbyte (KiB), mỗi trang tương ứng với 32 MByte (MiB) bộ nhớ. Một lập trình viên có thể dễ dàng tính nhẩm rằng "8K × 4K là 32 meg" và sẽ có giá trị chính xác, với ngữ cảnh lũy thừa hai này. Sự thuận tiện này có lẽ là một trong những nguồn gốc của việc mượn "kilo" và "mega" từ hệ SI để viết tắt cho 1.024 và 1.048.576, như một tiếng lóng đặc biệt trong một nhánh của ngành công nghiệp.

Hầu như tất cả chương trình dành cho người dùng máy tính (và nhiều chương trình lập trình cấp cao) không có xu hướng và cũng không cần phải nói rõ về lũy thừa của hai. Sự lẫn lộn của người dùng giữa lũy thừa của 1000 và lũy thừa của 1024 có thể suy ra phần lớn từ vài ứng dụng và hệ điều hành ban đầu được viết bởi lập trình viên và cũng dành cho lập trình viên, những chương trình đó do đó đã báo cáo số lượng như kích thước tập tin theo cách quen thuộc (đối với lập trình viên) là lũy thừa của 1024 trong khi sử dụng tên viết tắt SI (lũy thừa của 1000). Nếu không có những báo cáo này, phần lớn người dùng sẽ không bị đặt vào nghĩa lũy thừa của 1024, vì bộ nhớ thực mà người dùng sử dụng sau khi vài bù trừ chi phí hiếm khi là lũy thừa của 2. Hành vi được kế thừa của hệ điều hành khi báo cáo kích thước theo lũy thừa của 1024 vẫn tiếp tục đến ngày nay (năm 2007) ngay cả ở nhiều hệ điều hành có giao diện đồ họa nhắm chủ yếu đến người dùng không phải lập trình viên.

Ổ cứng

Những nhà sản xuất ổ cứng dùng đơn vị thập phân để chỉ dung lượng. Việc sử dụng như thế có truyền thống từ lâu, trước cả khi hệ thống SI của các tiền tố thập phân được công nhận vào năm 1960:

  • Ổ cứng đầu tiên là IBM 350 (thập niên 1950) có 5.000.000 ký tự 6 bit được tổ chức trong 100 vùng (sector) ký tự (nghĩa là khối - block). Điều này xảy ra trước khi có hệ thống SI.
  • Vào thập niên 1960 một cách mặc định tất cả ổ đĩa sử dụng định dạng chiều dài khối biến đổi của IBM (gọi là Count Key Data hay "CKD[37]"). Bất kỳ kích thước khối nào cũng có thể xác định dựa trên chiều dài rãnh (track) lớn nhất. Các khối ("thanh ghi" trong thuật ngữ của IBM) 88, 96, 880 và 960 thường được dùng vì chúng liên quan tới kích thước khối không đổi của các thẻ có lỗ. Dung lượng đĩa thường được chỉ theo các khối thanh ghi rãnh đầy đủ, ví dụ như một gói 3336 đĩa 100 Megabyte chỉ đạt được dung lượng với một kích thước khối rãnh 13.030 byte.
  • CKD vẫn còn dùng đến thập niên 1990 và có lẽ còn đến ngày nay. Vào thập niên 1970 và 1980 phần lớn ổ đĩa được xác định bằng số rãnh chưa định dạng (dung lượng chưa định dạng) với kích thước khối cụ thể và dung lượng đã được định dạng là một hàm của thiết kế bộ điều khiển. Ví dụ như, ST412 của IBM PC/XT có dung lượng chưa định dạng là 12,75 MB (không phải MiB) và được định dạng với bộ điều khiển Xebec và 512 khối và được quảng cáo là ổ cứng 10,0 MB (không phải MiB). Những bộ điều khiển khác hỗ trợ những kích thước khối khác dẫn đến dung lượng sau khi định dạng khác nhau.
  • Sự xuất hiện của giao tiếp thông minh (SCSIIDE) vào đầu thập niên 1990 đã thống nhất việc quyết định kích thước một khối và mặc định chọn 512 byte, không có lý do gì khác ngoài việc IBM đã chọn nó khi họ lấy bộ điều khiển Xebec dành cho PC/XT. Dung lượng tiếp tục được xác định bởi các nhà sản xuất ổ cứng với định nghĩa tiền tố SI.

Bất kể thực tế từ trước đến nay của các nhà sản xuất ổ cứng là luôn xác định dung lượng với quy ước tiền tố SI, giao diện đồ họa của một vài hệ thống hay hệ điều hành vẫn báo cáo dung lượng ổ cứng là một số nhị phân dẫn đến sự lẫn lộn. Vào tháng 1 năm 2007, phần lớn, nhưng không phải tất cả, các nhà sản xuất ổ cứng tiếp tục dùng tiền tố thập phân để xác định dung lượng.[38]

Ổ đĩa flash

Ổ đĩa Flash dùng USB và thẻ nhớ dựa trên Flash như CompactFlashSecure Digital được xếp vào loại bội số "lũy thừa của hai" của megabyte thập phân; ví dụ, một thẻ "256 MB" sẽ chứa 256 triệu byte. Mặc dù các thiết bị ít ra thường có dung lượng byte mong đợi, mỗi nhà sản xuất cũng định vị những phần khác nhau của dung lượng cơ bản của thiết bị cho những thứ như wear levelling (một kỹ thuật để kéo dài tuổi thọ thẻ nhớ).

Đĩa mềm

Việc sử dụng một cách nhập nhằng các tiền tố thập phân có thể bắt đầu từ đĩa mềm khi nhà sản xuất truyền thông và ổ đĩa chỉ dung lượng chưa định dạng trong khi các hệ thống khác nhau đưa ra những dung lượng đã định dạng khác nhau như là kết quả của các thiết kế bộ điều khiển khác nhau. Dường như một vài nhà sản xuất hệ thống và phân phối hệ điều hành bắt đầu báo cáo theo cách mà hiện giờ chúng ta biết là Ki byte. Một hệ thống lai rất nhập nhằng đã được phát triển với đĩa mềm 3½" mật độ cao hai mặt, ở đó một "megabyte" có nghuax là 1000 lần của "kilobyte" 1024 byte. Do đó, vào năm 2005, những nhà sản xuất đã thống nhất sử dụng sử định dang "đĩa 1,44 MB" cho một sản phẩm không chứa 1,44×220 byte cũng không phải 1,44×106 byte, mà là 1,44×1000×1024 byte (xấp xỉ với 1.406 MiB, hay 1.475 MB).

CD và DVD

Dung lượng đĩa CD luôn được cho dưới dạng đơn vị nhị phân. Một đĩa CD "700 MB" (hay "80 phút") có dung lượng danh nghĩa vào khoảng 700 MiB (xấp xỉ 730MB).[39] Nhưng dung lượng của DVD lại được cho ở dạng thập phân. Một DVD "4.7 GB" có dung lượng danh nghĩa là khoảng 4,38 GiB.[40]

Bus

Băng thông Bus được cho ở đơn vị thập phân. Điều này không phải do dung lượng ổ cứng sử dụng thập phân, cũng không phải do độ truyền bit, mà là do tốc độ xung đồng hồ. Ví dụ, bộ nhớ "PC3200" chạy trên bus ống kép 200 MHz, truyền 8 byte một chu kỳ, và do đó có băng thông 200.000.000×2×8 = 3.200.000.000 byte/s.

Tài liệu tham khảo

WikiPedia: Tiền tố nhị phân http://tcelis.cenelec.be/pls/portal30/CELISPROC.RP... http://tcelis.cenelec.be/pls/portal30/CELISPROC.RP... http://www.iec.ch/news_centre/release/nr2005/nr200... http://www.iec.ch/zone/si/si_bytes.htm http://converter.50webs.com/ http://www.answers.com/topic/ckd http://www.askoxford.com/concise_oed/megabyte?view... http://meta.ath0.com/2005/02/23/a-plea-for-sanity/ http://www.aztekera.com/tools/binary.php http://www.dewassoc.com/kbase/hard_drives/binary_v...